import { bubbleSort, bubbleSort1, bubbleSort2 } from '../bubbleSort'
import { time } from '@/utils/performance'
import { endSorted, getReverseArr, getSortedArr, isSorted, randomArr, startSorted } from '../util'


/**
 * 冒泡排序
 * 
 */
export const test = () => {
    // [8, 2, 1, 10, 3]

    // const arr = bubbleSort([8, 2, 1, 10, 3]);
    // console.log(arr);

    // const arr = randomArr(1, 100000, 10000)
    // const arr = getSortedArr(10000)
    // 克隆一个新的数组
    // const arr2 = arr.slice()

    // time("bubbleSort1", () => {
    //     bubbleSort1(arr)
    // })

    // time("bubbleSort优化过的", () => {
    //     bubbleSort(arr2)
    // })

    // const arr = randomArr(0, 1000, 30);
    // bubbleSort2(arr);
    // console.log(arr);

    // const arr = randomArr(0, 1000, 20);
    // p(arr)
    // console.log(arr)
    // bubbleSort(arr);
    // console.log(arr)
    // p(arr)


    // const arr = endSorted(20000, 15000),
    //     arr1 = arr.slice(),
    //     arr2 = arr.slice()

    // time("bubbleSort1", () => {
    //     bubbleSort1(arr)
    // })
    // p(arr)
    // time("bubbleSort优化1", () => {
    //     bubbleSort2(arr1)
    // })
    // p(arr1)
    // time("bubbleSort优化2", () => {
    //     bubbleSort(arr2)
    // })
    // p(arr2)

    // const arr = endSorted(100000, 90000),
    //     arr1 = arr.slice(),
    //     arr2 = arr.slice();
    // // time("bubbleSort1", () => {
    // //     bubbleSort1(arr)
    // // })
    // // p(arr)
    // time("bubbleSort优化1", () => {
    //     bubbleSort2(arr1)
    // })
    // p(arr1)
    // time("bubbleSort优化2", () => {
    //     bubbleSort(arr2)
    // })
    // p(arr2)


}



const p = (arr: number[]) => {
    console.log(isSorted(arr))
}

     